Terraform で使用できるデータ型
概要
プリミティブ
string: Unicodeの文字列
number: 数値。整数・小数点を対応
bool: true / false
code:main.tf
variable "message" {
type = string
default = "Hello world"
}
variable "max_count" {
type = number
default = 10
}
variable "is_enable" {
type = bool
default = true
}
構造体
object({<NAME>=<TYPE>, ...}): キーバリュー型。キーごとに作成できる
code:main.tf
variable "obj_sample" {
type = object({
name = string
age = number
})
default = {
name = "tanaka"
age = 28
}
}
username = var.obj_sample.name
tuple([<TYPE>, ...]): 各列の型が決まっている配列
code:main.tf
variable "obj_sample" {
type = tuple([
string, number
])
}
username = var.obj_sample0 コレクション[
list(<TYPE>): 特定の型で使用した配列
code:main.tf
variable "list_sample" {
type = list(string)
}
username = var.list_sample0 map(<TYPE>): キーが文字列でバリューが特定の型を指定した配列
code:main.tf
variable "map_sample" {
type = map(string)
default = {
"High" = "m5.2xlarge"
"Mid" = "m5.large"
"Low" = "t2.micro"
}
}
instance = var.map_sample.High
set(<TYPE>): 値に重複がない配列
code:main.tf
variable "set_sample" {
type = set(string)
default = [
"tanaka",
"sato",
"tanaka",
"sato"
]
}